pub fn dp_rec_mc(amount: u32) -> u32 {
    const CASHES: [u32; 8] = [1, 2, 5, 10, 20, 30, 50, 100];
    // 实现⼀个算法，⽤于实现最⼩找零纸币数。币种含：1、2、5、10、20、30、50、100元。要求：输⼊是⾦额，输出最少的找零纸币数。⽐如输⼊24，输出最⼩找零纸币数：3(⼀张20元、两张2元)。(20)
    let mut sum = 0;
    let mut num = 0;

    while sum != amount {
        CASHES.iter().rfind(|&x| {
            let sub = amount - sum;
            if *x <= sub {
                let p = sub / x;
                sum += p * x;
                num += p;
                true
            } else {
                false
            }
        });
    }
    num
}
